# @Time : 2020/7/18 14:43
# @Author : Fioman 
# @Phone : 13149920693
"""
在HSV色彩空间中,H通道(饱和度Hue通道)对应不同的颜色.或者换个角度理解,颜色的差异主要体现在H通道值的不同上.
所以,通过对H通道通道值进行筛选,便能够筛选出特定的颜色.例如,在一幅HSV图像中,如果通过控制仅仅将H通道内值为240
(在opencv中被调整为120)的像素显示出来,那么图像中就会仅仅显示蓝色部分.
通过inRange函数锁定特定值.
在opencv中通过函数cv.inRange()来判断图像内像素点的像素值是否在指定范围内,其语法格式为:
dst = cv.inRange(src,lowerb,upperb)
dst 表示输出结果,大小和src一致.
src 表示要检查的数组或者图像
lowerb 表示范围下界
upperb 表示范围上界
返回值dst和src等大小,其值取决于src中对应位置上的值是否处于区间[lowerb,upperb]范围内.
如果src的值处于改指定区间内,这dst中对应位置上的值是255.
如果src的值不处于改指定区间内,这dst中对应位置上的值为0
"""
import cv2 as cv
import numpy as np

img = np.random.randint(0,256,size=[5,5],dtype=np.uint8)
min = 155
max = 200
mask = cv.inRange(img,min,max)
print("img = \n",img)
print("mask = \n",mask)


img = np.ones((5,5),dtype=np.uint8)*9
mask = np.zeros([5,5],dtype=np.uint8)
mask[0:3,0] = 1
mask[2:5,2:4] = 1

roi = cv.bitwise_and(img,img,mask=mask)
print("img = \n",img)
print("mask = \n",mask)
print("roi = \n",roi)


